home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / flyout / form2.frm < prev    next >
Text File  |  1995-05-07  |  10KB  |  379 lines

  1. VERSION 2.00
  2. Begin Form frmFlyout 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    ClientHeight    =   1725
  6.    ClientLeft      =   3630
  7.    ClientTop       =   1635
  8.    ClientWidth     =   2085
  9.    ControlBox      =   0   'False
  10.    Height          =   2130
  11.    Left            =   3570
  12.    LinkTopic       =   "Form2"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   115
  16.    ScaleMode       =   3  'Pixel
  17.    ScaleWidth      =   139
  18.    Top             =   1290
  19.    Width           =   2205
  20.    Begin PictureBox SubClass1 
  21.       Height          =   480
  22.       Left            =   100
  23.       ScaleHeight     =   450
  24.       ScaleWidth      =   1170
  25.       TabIndex        =   0
  26.       Top             =   80
  27.       Width           =   1200
  28.    End
  29.    Begin Image Image1 
  30.       Height          =   330
  31.       Index           =   15
  32.       Left            =   0
  33.       Top             =   900
  34.       Width           =   360
  35.    End
  36.    Begin Image Image1 
  37.       Height          =   330
  38.       Index           =   14
  39.       Left            =   1440
  40.       Top             =   600
  41.       Width           =   360
  42.    End
  43.    Begin Image Image1 
  44.       Height          =   330
  45.       Index           =   13
  46.       Left            =   1080
  47.       Top             =   600
  48.       Width           =   360
  49.    End
  50.    Begin Image Image1 
  51.       Height          =   330
  52.       Index           =   12
  53.       Left            =   720
  54.       Top             =   600
  55.       Width           =   360
  56.    End
  57.    Begin Image Image1 
  58.       Height          =   330
  59.       Index           =   11
  60.       Left            =   360
  61.       Top             =   600
  62.       Width           =   360
  63.    End
  64.    Begin Image Image1 
  65.       Height          =   330
  66.       Index           =   10
  67.       Left            =   0
  68.       Top             =   600
  69.       Width           =   360
  70.    End
  71.    Begin Image Image1 
  72.       Height          =   330
  73.       Index           =   9
  74.       Left            =   1440
  75.       Top             =   300
  76.       Width           =   360
  77.    End
  78.    Begin Image Image1 
  79.       Height          =   330
  80.       Index           =   8
  81.       Left            =   1080
  82.       Top             =   300
  83.       Width           =   360
  84.    End
  85.    Begin Image Image1 
  86.       Height          =   330
  87.       Index           =   7
  88.       Left            =   720
  89.       Top             =   300
  90.       Width           =   360
  91.    End
  92.    Begin Image Image1 
  93.       Height          =   330
  94.       Index           =   6
  95.       Left            =   360
  96.       Top             =   300
  97.       Width           =   360
  98.    End
  99.    Begin Image Image1 
  100.       Height          =   330
  101.       Index           =   5
  102.       Left            =   0
  103.       Top             =   300
  104.       Width           =   360
  105.    End
  106.    Begin Image Image1 
  107.       Height          =   330
  108.       Index           =   4
  109.       Left            =   1440
  110.       Top             =   0
  111.       Width           =   360
  112.    End
  113.    Begin Image Image1 
  114.       Height          =   330
  115.       Index           =   3
  116.       Left            =   1080
  117.       Top             =   0
  118.       Width           =   360
  119.    End
  120.    Begin Image Image1 
  121.       Height          =   330
  122.       Index           =   2
  123.       Left            =   720
  124.       Top             =   0
  125.       Width           =   360
  126.    End
  127.    Begin Image Image1 
  128.       Height          =   330
  129.       Index           =   1
  130.       Left            =   360
  131.       Top             =   0
  132.       Width           =   360
  133.    End
  134.    Begin Image Image1 
  135.       Height          =   330
  136.       Index           =   0
  137.       Left            =   0
  138.       Top             =   0
  139.       Width           =   360
  140.    End
  141. End
  142.  
  143. Option Explicit
  144.  
  145. Dim LastIndexPressed%
  146.  
  147. Sub Form_Load ()
  148.  
  149.    '
  150.    ' Set the form's global var LastIndexPressed% to -1.
  151.    '
  152.  
  153.    LastIndexPressed% = -1
  154.  
  155. End Sub
  156.  
  157. Sub SubClass1_WndMessage (wnd As Integer, msg As Integer, wp As Integer, lp As Long, retval As Long, nodef As Integer)
  158.  
  159.    Dim x%                        ' X coordinate of the mouse
  160.    Dim y%                        ' Y coordinate of the mouse
  161.    Dim row%                      ' Icon row the mouse is over
  162.    Dim column%                   ' Icon column the mouse is over
  163.    Dim image_num%                ' The index of the icon the mouse is over
  164.    Dim temp_str$                 ' Temp var
  165.    Dim temp%                     ' Temp var
  166.    
  167.    
  168.    '
  169.    ' Based on the message received...
  170.    '
  171.  
  172.    Select Case (msg)
  173.  
  174.       '
  175.       ' Mouse has moved.
  176.       '
  177.  
  178.       Case WM_MOUSEMOVE
  179.  
  180.          '
  181.          ' Do some common stuff.
  182.          '
  183.  
  184.          GoSub WM_DataExtract
  185.  
  186.  
  187.          '
  188.          ' Determine the help message to be displayed.
  189.          '
  190.  
  191.          If (image_num% < 0) Then
  192.             temp_str$ = ""
  193.          Else
  194.             temp_str$ = gToolbox.icons(gToolbox.tool_selected, (image_num% + 1)).help_str
  195.          End If
  196.          
  197.          
  198.          '
  199.          ' If the left mouse button is depressed, change the icons as needed.
  200.          '
  201.  
  202.          If (wp And MK_LBUTTON) Then
  203.          
  204.             '
  205.             ' If the image number is different than the index in LastIndexPressed%...
  206.             '
  207.             If (image_num% <> LastIndexPressed%) Then
  208.    
  209.                '
  210.                ' Set the previously depressed icon to the normal state. (if needed).
  211.                '
  212.    
  213.                If (LastIndexPressed% > -1) Then
  214.                   frmFlyout!Image1(LastIndexPressed%).Picture = frmToolbox!PicClip1.GraphicCell(gToolbox.icons(gToolbox.tool_selected, (LastIndexPressed% + 1)).icon_index)
  215.                End If
  216.    
  217.                
  218.                '
  219.                ' If the mouse is over one of the icons in the flyout, show the depressed
  220.                ' version of the current icon and set the var LastIndexPressed%.
  221.                ' Otherwise, set the var LastIndexPressed% to -1.
  222.                '
  223.                
  224.                If (image_num% > -1) Then
  225.                   frmFlyout!Image1(image_num%).Picture = frmToolbox!PicClip1.GraphicCell(gToolbox.icons(gToolbox.tool_selected, (image_num% + 1)).icon_index + ICON_DEPRESSED)
  226.                   LastIndexPressed% = image_num%
  227.                Else
  228.                   LastIndexPressed% = -1
  229.                End If
  230.    
  231.             End If
  232.  
  233.          End If
  234.  
  235.          
  236.          '
  237.          ' Display the help message in the MDIForm's status line.
  238.          '
  239.  
  240.          MDIForm1!Panel.Caption = temp_str$
  241.  
  242.       
  243.       
  244.       '
  245.       ' Left mouse button has been depressed.
  246.       '
  247.  
  248.       Case WM_LBUTTONDOWN
  249.  
  250.          '
  251.          ' Do some common stuff.
  252.          '
  253.  
  254.          GoSub WM_DataExtract
  255.  
  256.  
  257.          '
  258.          ' Determine the help message to be displayed.
  259.          '
  260.  
  261.          If (image_num% < 0) Then
  262.             temp_str$ = ""
  263.          Else
  264.             temp_str$ = gToolbox.icons(gToolbox.tool_selected, (image_num% + 1)).help_str
  265.          End If
  266.          
  267.          
  268.          '
  269.          ' If the image number is different than the index in LastIndexPressed%...
  270.          '
  271.  
  272.          If (image_num% <> LastIndexPressed%) Then
  273.  
  274.             '
  275.             ' Set the previously depressed icon to the normal state. (if needed).
  276.             '
  277.  
  278.             If (LastIndexPressed% > -1) Then
  279.                frmFlyout!Image1(LastIndexPressed%).Picture = frmToolbox!PicClip1.GraphicCell(gToolbox.icons(gToolbox.tool_selected, (LastIndexPressed% + 1)).icon_index)
  280.             End If
  281.  
  282.             
  283.             '
  284.             ' If the mouse is over one of the icons in the flyout, show the depressed
  285.             ' version of the current icon and set the var LastIndexPressed%.
  286.             ' Otherwise, set the var LastIndexPressed% to -1.
  287.             '
  288.             
  289.             If (image_num% > -1) Then
  290.                frmFlyout!Image1(image_num%).Picture = frmToolbox!PicClip1.GraphicCell(gToolbox.icons(gToolbox.tool_selected, (image_num% + 1)).icon_index + ICON_DEPRESSED)
  291.                LastIndexPressed% = image_num%
  292.             Else